#include "led.h"
#include "stm32f10x.h"

// LED初始化函数
void LED_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;  // 定义GPIO初始化结构体
    // 启用GPIOB和GPIOE的时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);  // 启用GPIOB时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);  // 启用GPIOE时钟
    // 配置GPIOB的第0引脚为推挽输出模式（用于控制一个LED）
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 设置为推挽输出模式
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;  // 配置GPIOB的第0引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;  // 设置GPIO引脚的最大速度为2MHz
    GPIO_Init(GPIOB, &GPIO_InitStructure);  // 初始化GPIOB的第0引脚
    // 设置GPIOB的第0引脚为高电平（LED关闭）
    GPIO_SetBits(GPIOB, GPIO_Pin_0);  // 输出高电平，LED熄灭（假设LED是低电平点亮）
    // 配置GPIOE的第1、2、3引脚为推挽输出模式（用于控制多个LED）
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 设置为推挽输出模式
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;  // 配置GPIOE的第1、2、3引脚
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;  // 设置GPIO引脚的最大速度为2MHz
    GPIO_Init(GPIOE, &GPIO_InitStructure);  // 初始化GPIOE的第1、2、3引脚
    // 设置GPIOE的第1、2、3引脚为高电平（LED关闭）
    GPIO_SetBits(GPIOE, GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3);  // 输出高电平，LED熄灭（假设LED是低电平点亮）
}
